package cn.com.fattiger;

import java.util.Scanner;

/**
 * 输入一个数字将其转换为汉字
 * 如: 输入数字：112 
 * 	      输出汉字：一百一十二
 * NumToChinese
 * @author fattiger.xiaoyang
 * @date 2017/03/14
 * @qqGroup 454655009
 */
public class NumToChinese {

	public static void main(String[] args) {
		System.out.println(Long.MAX_VALUE);
		System.out.println(Integer.MAX_VALUE);
		Scanner scanner = new Scanner(System.in);
		while (true) {
			System.out.println("输入数字：");
			String str = scanner.next();
			if ("exit".equals(str)) {
				scanner.close();
				return;
			}
			conver(Long.parseLong(str));
		}
	}

	public static void conver(long number) {
		// 数字对应的汉字
		String[] num = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
		// 单位
		String[] unit = { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万亿", "十", "百", "千", "万万亿", "十", "百", "千", "亿亿" };
		// 将输入数字转换为字符串
		String strNum = String.valueOf(number);
		// 将该字符串分割为数组存放
		char[] ch = strNum.toCharArray();
		String result = "";
		int numLen = ch.length;
		for (int i = 0; i < numLen; i++) {
			int singleNum = Integer.parseInt(String.valueOf(ch[i]));
			if(singleNum != 0){
				result += num[singleNum] + unit[numLen - i - 1];
			}else{
				result += num[singleNum];
			}
		}
		System.out.println("输出汉字：" + result);
	}

}
